#使用 matplotlib绘制折线图
import pandas as pd		#导入pandas库
#导入matplotlib库中的pyplot模块
import matplotlib.pyplot as plt
#读取数据
df = pd.read_excel('2022年某店铺3个分店销售额.xlsx')
x = df('月份')
y = df('第一分店')
plt.figure(figsize=(8,4))		#创建画布并设置画布大小
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.title('2022年某店铺第一分店销售额折线图')
plt.xlabel('月份')
plt.ylabel('销售额(万元)')
#设置文本标签
for a,b in zip(x,y):
	plt.text(a,b, '%.2f' % b, ha='right')
plt.grid(axis='both')		#设置网线格
plt.plot(x,y, 'm:v')			#绘制折线图
plt.legend(('第一分店',))
plt.show()


#使用seaborn绘制折线图
import pandas as pd		#导入pandas库
#导入matplotlib库中的pyplot模块
import matplotlib.pyplot as plt
import seaborn as sns		#导入seaborn库
#读取数据
df = pd.read_excel('2022年某店铺3个分店销售额.xlsx')
#创建画布并设置画布大小
plt.figure(figsize=(8,  4))
#设置图表样式，包括样式主题和中文字体
sns.set_style(style='darkgrid', rc=('font.sans-serif': 'SimHei'))
sns.set_palette('muted')
#绘制折线图
sns.lineplot(x='月份', y='第二分店', data=df, marker='o')
#设置图表标题
plt.title('2022年某店铺第二分店销售额折线图')
plt.ylabel('销售额(万元 )')
#设置文本标签
for a,b in zip(df['月份'],  df['第二分店'])：
	plt.text(a, b, '%.2f'  %  b,  ha='right')
plt.legend(('第二分店',))
plt.show()


#使用pyecharts绘制折线图
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.globals import ThemeType
import pandas as pd
#读取数据
df=pd.read_excel('2022年某店铺3个分店销售额.xlsx')
x=df['月份'].tolist()
y=df['第三分店']
line=Line(init _opts=opts.InitOpts(
	width='800px',height='400px',
	theme=ThemeType.VINTAGE,page_title='折线图'))
#添加x轴和y轴数据
line.add_xaxis(xaxis_data=x)
line.add_yaxis(series_name='第三分店', y_axis=y)
#设置全局配置项
line.set_global_opts(
	#设置标题配置项，包括图标标题及其位置
	title_opts=opts.TitleOpts(
		title='2022年某店铺第三分店销售额折线图',
		pos_left='center'),
	#设置坐标轴配置项，包括y轴标题(name)及其位置(name_location),标题离轴线距离(name_gap),刻度最小值(min_)
	yaxis_opts=opts.AxisOpts(name='销售额(万元)'，
		name_location='center', name_gap=35, min_=18),
	#设置坐标轴配置项，包括X轴标题(name)及其位置(name_location),标题离轴线距离(name_gap)
	xaxis_opts=opts.AxisOpts(name='月份',
		name_location='center',name_gap=35),
	#图例配置项，包括图例离画布右侧和顶部的距离
	legend_opts=opts.LegendOpts(pos_right='10%', pos_top='8%')
)
line.render('line.html')		#渲染图表